今天我們要講解如何載入靜態網站,有時我們會遇到不太需要讀取資料庫的內容,比如隱私權頁面、服務條款頁面等等,這時我們可以透過檔案名稱直接讀取所需要的資料夾,至於該怎麼做,我們繼續看下去。
首先我們打開controllers/Welcome.php
與config/routes.php
:
下一步我們針對routes.php
加入路徑:
$route['(:any)'] = 'welcome/view/$1';
前方的(:any)
代表任何字元,後方連動到$1
,另外我們放到最下方,error
的上方代表當上面沒有路徑時最後選擇才會選擇下面,也就是說上面任何路徑會導入到Welcome.php
的function view
裡面並且夾帶參數,例如function view($page){}
。
接著我們在Welcome.php
加入新的函式:
...
function view($page = 'index') {
if (!file_exists('application/views/pages/'.$page.'.php')) {
show_404();
}
$pageInfo['title'] = ucfirst($page); // 第一個字母大寫
$this->load->view('pages/'.$page, $pageInfo);
}
上面view
代表後方傳送進來得值,預設載入index
,接著下面的if
主要確認views/pages
裡面是否有網址上面的檔案,如果沒有就會顯示404錯誤頁面
,接著我把們取到的值轉換成大寫當作標題來傳送,接著下面就是載入pages
裡面的頁面。
接著我們對views
新增一個pages
的資料夾,接著在裡面新增一個test
的檔案來做測試:
接著我們輸入網址測試http://ip-address/test
,就會看到我們新建的測試畫面:
未來只需要新增檔案丟到views/pages
的資料夾,就不需要透過新建controller
來顯示,至少在處理上會比較方便快速!
今天課程就到這,
明天我們就來講解GET/POST部分。
Next station ... 改造GET/POST